#include <stdio.h>
#include <stdlib.h>
//#include"suivie_personnel1.h"
#include"string.h"
#define MAX 100


int ii;
int jj;
int kk;

struct personne
{
    char identifiant[6];
};

struct parcour
{
    char identifiant[6];
    char capteur[6];
};



struct log
{
    char time[9];
    char identifiant[6];
    char capteur[6];

};

struct log tableau [MAX];
struct personne tableau2 [MAX];
struct parcour tableau3 [MAX];
struct parcour tableau4 [MAX];

void fonction(char chemin[]);
void fonction2(char chemin2[]);
void fonction3(char chemin3[]);
void fonction4(char chemin4[]);




void suivie()
{
    char chemin[]="log.txt";
    char chemin2[]="personne.txt";
    char chemin3[]="parcour.txt";
    char chemin4[]="id.txt";

    fonction(chemin);

    printf("\n   ******  \n");
    printf("**************\n");

    fonction2(chemin2);

    printf("\n   ******  \n");
    printf("**************\n");

    fonction3(chemin3);

    printf("\n   ******  \n");
    printf("**************\n");

    fonction4(chemin4);


}







//fonction lire fichier log
void fonction(char chemin[])
{
    int n;
    int j,i=0;

    struct log P;

    FILE *f;
    f=fopen(chemin,"r");
    if(f==NULL)
    {
        printf("\n Impossible d'ouvrir le fichier %s",chemin);
    }
    else
    {
        printf("\n log de  circuit :\n");
        /*saisie d'une structure à partir de fichier*/
        while( fscanf(f,"%s%s%s",P.time,P.identifiant,P.capteur) !=EOF)
        {


            tableau[i]=P;

            i++;
        }
        ii=i;
        n=i;
        for(j=0; j<n; j++)
        {
            printf("time=%s identifiant=%s capteur=%s\n",tableau[j].time,tableau[j].identifiant,tableau[j].capteur);
        }
    }
    fclose(f);
}



//fonction lire fichier personne
void fonction2(char chemin2[])
{
    int n;
    int j=0,i=0;

    struct personne k;
    FILE *f;
    f=fopen(chemin2,"r");
    if(f==NULL)
    {
        printf("\n Impossible d'ouvrir le fichier %s",chemin2);
    }
    else
    {
        printf("\n Liste des personne \n");
        /*saisie d'une structure à partir de fichier*/
        while( fscanf(f,"%s",k.identifiant) !=EOF)
        {
            tableau2[i]=k;
            i++;
        }

        kk=i;
        n=i;
        for(j=0; j<n; j++)
        {
            printf("identifiant=%s\n",tableau2[j].identifiant);
        }
    }
    fclose(f);
}


//lire fichier parcour
void fonction3(char chemin3[])
{
    int n;
    int j=0,i=0;

    struct parcour k;
    FILE *f;
    f=fopen(chemin3,"r");
    if(f==NULL)
    {
        printf("\n Impossible d'ouvrir le fichier %s",chemin3);
    }
    else
    {
        printf("\n Liste du personne parcour \n");
        /*saisie d'une structure à partir de fichier*/
        while( fscanf(f,"%s%s",k.identifiant,k.capteur) !=EOF)
        {
            tableau4[i]=k;
            i++;
        }
        jj=i;
        n=i;
        for(j=0; j<n; j++)
        {
            printf("identifiant=%s capteur=%s\n",tableau4[j].identifiant,tableau4[j].capteur);
        }
    }
    fclose(f);
}




//Comparer
void fonction4(char chemin4[])
{
    int i,j,k;
    int l;
    int m;
    FILE *alerte;
    char id[6];

    m=0;
    for (i=0; i<kk; i++)
    {
        char s1[64];
        char s2[64];


        memset (s1, 0, sizeof (s1));
        memset (s2, 0, sizeof (s2));
        for (k=0; k<jj; k++)
        {

//if(strcmp(tableau2[i].identifiant, tableau4[k].identifiant)==0){
            strcat(s1,tableau4[k].capteur);

        }

        for (j=0; j<ii; j++)
        {
            if(strcmp(tableau2[i].identifiant, tableau[j].identifiant)==0)
            {
                strcat(s2,tableau[j].capteur);
            }
        }
        printf("\ns1= %s  \n",s1);
        printf("s2= %s  \n",s2);

        if(strcmp(s1,s2)== 0)
        {
            printf("\nparcour %s good  \n",tableau2[i].identifiant);
        }
        else
        {

            printf("\nparcour %s erreure \n",tableau2[i].identifiant);

            m=m+1;


        }



    }
    printf("\n    *******      \n");
    printf("***************");
    printf("\n    *******    \n");
    printf("le nbre de personnel erronee est %d\n",m);


    alerte=fopen(chemin4,"w");
    if(alerte==NULL)
    {
        printf("\n Impossible d\'ouvrir le fichier ");
    }
    else
    {
        printf("\n Donner l identifiant du personnel erronee:");

        /* scanf("%s",id);
         if(tableau[i].identifiant!=id)
         {printf("ERREUR");}
         else
         {*/


        for(l=0; l<m; l++)
        {
            scanf("%s",tableau[i].identifiant);
            fprintf(alerte,"%s\n",tableau[i].identifiant);

        }
    }
    //}
    fclose(alerte);



}



